﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using HerGoS.ControlsUI;
using HerGoS.Documentos.Entities;
using HerGoS.Documentos.Engine;

namespace HerGoS.WebUI.Documentos
{
    public partial class TipoMovimiento_ABM : PageBase
    {

        #region Propiedades

        public TipoMovimiento TipoMovimiento
        {
            get
            {
                if (ViewState["TipoMovimiento"] != null)
                    return (TipoMovimiento)ViewState["TipoMovimiento"];
                return null;
            }
            set
            {
                ViewState["TipoMovimiento"] = value;
            }

        }

        #endregion


        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                if (Request.QueryString["id"] == null)
                {
                    TipoMovimiento = new TipoMovimiento();
                }
                else
                {
                    var Id = Convert.ToInt32(Request.QueryString["id"]);
                    TipoMovimiento = GestorTipoMovimiento.Obtener(Id);
                    this.txtCodigo.Text = TipoMovimiento.Codigo;
                    this.txtDescripcion.Text = TipoMovimiento.Descripcion;
                }
                Initialize();
            }

        }

        void Initialize()
        {
            this.btnGuardar.Settings(new ButtonExtText());
            this.btnCerrar.Settings(new ButtonExtText());
            LoadAutoria(TipoMovimiento);
        }


        protected void btnGuardar_Click(object sender, EventArgs e)
        {
            TipoMovimiento.Codigo = this.txtCodigo.Text;
            TipoMovimiento.Descripcion = this.txtDescripcion.Text;


            var tipoMovExists = GestorTipoMovimiento.Consultar(TipoMovimiento.Codigo, null, true).FirstOrDefault();
            if (tipoMovExists != null)
            {
                var script = @"$(function(){{parent.TipoMovimientoDuplicado('{0}');}});";
                script = string.Format(script, tipoMovExists.Codigo);
                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "closedialog", script, true);
                return;
            }


            GestorTipoMovimiento.Guardar(TipoMovimiento);

            ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "closedialog", "parent.IntervaloCerrarPopup();", true);

        }


        protected void btnCerrar_Click(object sender, EventArgs e)
        {
            ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "closedialog", "parent.CerrarPopup();", true);
        }

    }
}